#include "EtherCATMaster.h"
#include "IGHMaster.h"
#include "SOEMMaster.h"

// 工厂方法实现，根据类型创建对应的主站实例
std::shared_ptr<EtherCATMaster> EtherCATMaster::createMaster(MasterType type) {
    switch (type) {
        case MasterType::IGH:
            return std::make_shared<IGHMaster>();
        case MasterType::SOEM:
            return std::make_shared<SOEMMaster>();
        default:
            return nullptr;
    }
}